package com.faith.dynamic.exception;

import com.faith.dynamic.enums.FaithSysExceptionEnum;
import lombok.Data;

/**
 * @ClassName FaithSysException$
 * @Description  自定义异常
 * @Author faith$
 * @Date 2019/7/25 15:16
 * @Version 1.0
 **/
@Data
public class FaithSysException extends RuntimeException{

    private String code;

    private String message;

    public FaithSysException(String code, String message) {
        super(message);
        this.code = code;
        this.message = message;
    }

    public FaithSysException(FaithSysExceptionEnum sysExceptionEnum) {
        throw new FaithSysException(sysExceptionEnum.getCode(), sysExceptionEnum.getMessage());
    }
    public static  void throwFaithSysException(FaithSysExceptionEnum FaithSysExceptionEnum){
        throw  new FaithSysException(FaithSysExceptionEnum.getCode(),FaithSysExceptionEnum.getMessage());
    }

    public static  void throwFaithSysException(FaithSysExceptionEnum FaithSysExceptionEnum, String appendMessage){
        throw  new FaithSysException(FaithSysExceptionEnum.getCode(),FaithSysExceptionEnum.getMessage() + appendMessage);
    }

    public static  void throwFaithSysException(String frontMessage,FaithSysExceptionEnum FaithSysExceptionEnum){
        throw  new FaithSysException(FaithSysExceptionEnum.getCode(),frontMessage + FaithSysExceptionEnum.getMessage() );
    }

    public static  void throwFaithSysException(String frontMessage,FaithSysExceptionEnum FaithSysExceptionEnum, String appendMessage){
        throw  new FaithSysException(FaithSysExceptionEnum.getCode(),frontMessage + FaithSysExceptionEnum.getMessage() + appendMessage);
    }
    
}
